home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 2
/
Atari Mega Archive CD - Volume 2.iso
/
8bit
/
cislib_a
/
midas1.act
< prev
next >
Wrap
Text File
|
1995-04-22
|
10KB
|
1 lines
;MIDAS MAZE.¢ MODULE¢¢; CHECKSUM DATA¢;[61 4F 6D B9 C9 38 9B 37¢; 98 6A D4 94 37 3C E1 CC¢; 66 F4 71 86 25 4D C2 DA¢; C8 DD 8E 0C F2 7E 60 C4¢; B0 C6 A0 DB EB 75 E1 2E¢; CD BA 0D 76 60 2A 9B CE¢; AC ]¢¢;Your car's shape table.¢; This holds the 4 direction ¢; positions and each of them has 3¢; animation shapes to them¢BYTE ARRAY P0=[¢ 16 186 186 40 56 186 186 0¢ 16 56 186 40 56 186 56 0¢ 16 186 56 40 56 56 186 0¢ 0 186 186 56 40 186 186 16¢ 0 56 186 56 40 186 56 16¢ 0 186 56 56 40 56 186 16¢ 102 0 126 238 126 0 102 0¢ 36 0 126 238 126 0 36 0¢ 66 0 126 238 126 0 66 0¢ 102 0 126 119 126 0 102 0¢ 36 0 126 119 126 0 36 0¢ 66 0 126 119 126 0 66 0 ],¢¢; ד∈σϕ∙áπβ≥á≤Φβ≡σá⌠βΓ∮σ«¢; Has the same as your car but¢; different shape style¢ EP=[¢ 189 189 36 60 60 165 189 36¢ 60 189 36 60 60 165 60 36¢ 189 60 36 60 60 36 189 36¢ 36 189 165 60 60 36 189 189¢ 36 60 165 60 60 36 189 60¢ 36 189 36 60 60 36 60 189¢ 198 0 255 218 218 255 0 130¢ 68 0 255 218 218 255 0 68¢ 130 0 255 218 218 255 0 130¢ 99 0 255 91 91 255 0 99¢ 34 0 255 91 91 255 0 34¢ 65 0 255 91 91 255 0 99],¢¢; בΦβ≥βπ⌠σ≥á≤σ⌠áΣβ⌠β«¢ CHST=[¢ 0 0 3 15 15 3 0 0¢ 0 0 0 192 192 0 0 0¢ 15 48 192 192 192 48 15 0¢ 192 48 12 12 12 48 192 0¢ 48 48 204 204 204 48 48 0¢ 255 0 0 0 0 0 255 0¢ 204 204 204 204 204 48 48 0¢ 48 48 204 204 204 204 204 204¢ 204 204 204 204 204 204 204 204¢ 192 192 192 192 192 192 192 192 ¢ 12 12 12 12 12 12 12 12¢ 0 0 0 0 0 0 255 0¢ 255 0 0 0 0 0 0 0¢ 192 192 192 192 192 48 15 0¢ 12 12 12 12 12 48 192 0¢ 192 48 12 12 12 12 12 12¢ 15 48 192 192 192 192 192 192¢ 0 51 0 63 51 63 0 51¢ 0 0 0 85 0 0 0 0¢ 0 0 0 84 0 0 0 0¢ 16 16 16 16 16 16 16 0¢ 3 12 8 15 15 15 15 15¢ 192 240 240 240 240 240 240 240¢ 0 5 21 42 41 37 41 42¢ 0 80 84 168 104 88 104 168¢ 0 0 63 63 63 0 0 0¢ 0 0 240 245 240 0 0 0¢ 0 107 106 106 106 106 106 0¢ 0 253 253 253 189 189 173 0¢ 10 42 1 1 1 1 1 1¢ 128 144 0 0 0 0 0 0¢ 0 48 204 205 204 48 0 0¢ 0 0 0 84 16 0 0 0¢ 0 0 0 0 0 0 0 0¢ 51 15 12 60 252 255 60 15¢ 48 252 48 252 63 63 60 240],¢¢; ןáªáךáס∩≤Θ⌠Θ∩∈≤ for different¢; screen objects.¢; ז∩≥Θ·∩∈⌠β∮á≈β∮∮≤«¢ PRL=[¢ 3 1 18 1 3 23 18 23 0 11 3 11 0¢ 13 3 13 9 4 18 4 9 11 15 11 12 7 15¢ 7 18 7 21 7 9 13 15 13 12 15 15 15¢ 40],¢¢; שσ≥⌠Θπβ∮á≈β∮∮≤«¢ PUD=[¢ 3 1 3 11 3 13 3 23 6 3 6 11 6¢ 13 6 21 9 6 9 11 15 7 15 11 18 7 18¢ 11 9 13 9 21 12 15 12 21 18 13 18¢ 15 18 17 18 21 15 17 15 21 40],¢¢; תΦΘ⌠σáΣ∩∩≥≤«¢ DOOR=[¢ 3 12 15 14 10 7 19 1 10 21 16¢ 17 16 21 19 23 19 11],¢¢; דמדפוחםדפצ«¢ ENER=[¢ 10 14 16 19 4 7 28 14 22 19 34 7],¢ KEYS=[7 4 19 4 31 4 16 9 22 9¢ 7 17 31 17 19 14],¢ SPNA=[0 3 1 2],SCR,DLIST,T8M(12),¢ T3M(6),ST=632,PCOLR=704,HPOSP=53248,¢ HPOSM=53252,SIZEP=53256,MPL=53256,¢ AUDFC=53760,PARY,SH,SCOR(8),SC,¢ STX(5),STY(5),ODR(5),OSX(5),OSY(5),¢ CSX(5),CSY(5),CDX(5),CDY(5),SAX(5),¢ SAY(5),BRPO(5),DIR(5),DDU(5),DDD(5),¢ DDL(5),DDR(5),EH(5),EDF(4),PDF(5),¢ SPT(5),SPIN(5),SPN(5),ECT(4)¢CARD ARRAY Y40(24),PAD(5)¢CARD CHSET,DL,CLP0,PMTEMP,M0,PL0,PL1,¢PL2,PL3,SHAD,GC,GG,POWER=[0],DELAY,¢MBT¢BYTE P106,LP0,LP1,R,PLX,PLY,DRX,DRY,¢P0X,P0Y,P1X,P1Y,TALL,IC,S,S0,S1,PMTL,¢SP=[2],PMNO,DI,TS0,TS1,TS2,TS3,STIK,¢DCD,DCD0¢BYTE¢ DDM,PMM,TM,SP1,PO,LB,SP0,ST0,ST1,¢ ST2,ST3,COL=[0],PT=[0],PD=[0],SSC,¢ XTRA=[3],OSCOR=[0],ESC=[2],ELP,SES,¢ MEM,INE=[0],THO=[1]¢¢; נצá∩≥áזIJפגתIJפדá∮∩πβ⌠Θ∩∈≤«¢BYTE RTCLOK=18,ATRACT=77,RAMTOP=106,¢ SDMCTL=559,GRPRIOR=623,STRIG0=644,¢ CHBAS=756,CH=764,PFCOLR2=53272,¢ P0C=53260,GRACTL=53277,HITCLR=53278,¢ CONSOL=53279,AUDCTL=53768,¢ PMBASE=54279,WSYNC=54282,¢ VCOUNT=54283¢¢; ס≥Θ∈⌠≤á≤π∩≥σ¢PROC PRSCOR()¢ FOR SP0=0 TO 7 DO¢ SCR(10+SP0)=SCOR(SP0)+16¢ OD¢RETURN¢¢; בσπδáµ∩≥áΣΘτΘ⌠á∩÷σ≥µ∮∩≈¢PROC SCLP()¢ LB=8¢ FOR SP1=0 TO 7 DO¢ LB==-1 PO=SCOR(LB)¢ IF PO>9 THEN¢ SCOR(LB)=SCOR(LB)-10¢ SCOR(LB-1)=SCOR(LB-1)+1¢ FI¢ OD¢RETURN¢¢; קβδσ≤á⌠Φσá÷β≥ΘβΓ∮σáIJגגáβ∈ΣáβΣΣ≤¢; Θ⌠á⌠∩á∙∩⌡≥á≤π∩≥σ«¢PROC SCORE(BYTE ADD)¢ IF ADD>0 THEN¢ ADD==-1¢ FOR SP0=0 TO ADD DO¢ SCOR(7)=SCOR(7)+1¢ SCLP() ;up data score¢ OD¢ FI¢ PRSCOR() ;Print it.¢RETURN¢¢; IJΣΣ≤áקזá⌠∩á⌠Φσá⌠Φ∩⌡≤β∈Σ≤á≡∩≤Θ⌠Θ∩∈«¢PROC THOUS(BYTE TH)¢ SCOR(4)==+TH¢ SCLP()¢ PRSCOR()¢RETURN¢¢; IJΣΣ≤áזגá⌠∩áΦ⌡∈Σ≥σΣ≤á≡∩≤«¢PROC HUND(BYTE HD)¢ SCOR(5)==+HD¢ SCLP()¢ PRSCOR()¢RETURN¢¢; ס∮∩⌠áנמá⌠Φσá≤π≥σσ∈«¢PROC PL(BYTE PX,PY)¢ PLX=PX PLY=PY¢ SCR(PLX+Y40(PLY))=IC; Access screen.¢RETURN¢¢; ג≥β≈áπΦβ≥βπ⌠σ≥≤á∩∈á≤π≥σσ∈¢; Θ∈áΦ∩≥Θ·∩∈⌠β∮á∩≥á÷σ≥⌠Θπβ∮á∮Θ∈σ≤«¢PROC DR(BYTE DX,DY)¢ DRX=DX DRY=DY¢ ;Find out which is greater¢ ; the plot or the drawto x position.¢ IF PLX<>DRX THEN¢ IF PLX>DRX THEN¢ S0=DRX S1=PLX¢ ELSE¢ S0=PLX S1=DRX¢ FI¢ IF IC=70 THEN¢ SCR(S0+Y40(DRY))=67¢ SCR(S1+Y40(DRY))=68¢ S0==+1 S1==-1¢ FI¢ FOR S=S0 TO S1 DO¢ SCR(S+Y40(DRY))=IC¢ OD¢ FI¢ ;Find out the greater y position.¢ IF PLY<>DRY THEN¢ IF PLY>DRY THEN¢ S0=DRY S1=PLY¢ ELSE¢ S0=PLY S1=DRY¢ FI¢ IF IC=73 THEN¢ SCR(PLX+Y40(S0))=72¢ SCR(PLX+Y40(S1))=71¢ TS0=SCR(DRX+1+Y40(S0))¢ TS2=SCR(DRX-1+Y40(S0))¢ ;Check for intersecting line and¢ ;add corners when needed.¢ IF TS0=70 THEN¢ SCR(DRX+Y40(S0))=80¢ FI¢ IF TS2=70 THEN¢ SCR(DRX+Y40(S0))=80¢ FI¢ TS1=SCR(DRX+1+Y40(S1))¢ TS2=SCR(DRX-1+Y40(S1))¢ IF TS1= 70 THEN¢ SCR(DRX+Y40(S1))=78¢ FI¢ IF TS2=70 THEN¢ SCR(DRX+Y40(S1))=79¢ FI¢ S0==+1 S1==-1¢ FI¢ FOR S=S0 TO S1 DO¢ SCR(DRX+Y40(S))=IC ;Plot character¢ OD ;on screen.¢ FI¢ ;Save drawto's values in plx and¢ ; ply variable for next drawto.¢ PLX=DRX PLY=DRY¢RETURN¢¢;צσ⌠¡⌡≡á≡∮β∙σ≥áβΣΣ≥σ≤≤áβ∈Σá≤Φβ≡σ¢;βΣΣ≥σ≤≤áβ∈ΣáΣΘ≥σπ⌠Θ∩∈áµ∩≥áסל∞ונá≡≥∩π.¢PROC PMST(CARD PMADR,SHADR,D)¢ ;Make array pray point to the¢ ;players ram area.¢ PARY=PMADR TM=T3M(D)¢ SHAD=SHADR DI=T8M(TM)¢ ;Check to see if player is player or¢ ;missle shaps.¢ IF PMADR>M0 THEN¢ PMNO=((PMADR-PMTEMP-1024)) RSH 8¢ ELSE¢ PMNO=4¢ FI¢RETURN¢¢;ס⌡⌠≤á⌠Φσá≡∮β∙σ≥á∩≥áϕΘ≤≤Θ∮σá≤Φβ≡σáΘ∈¢;⌠Φσáס»לáϕσϕ∩≥∙áβ≥σβáτΘ÷σáΘ⌠º≤á∙á≡∩≤«¢;β∈Σá≡∩δσ≤áΘ⌠º≤áΦ∩≥Θ·∩∈⌠β∮á≡∩≤Θ⌠Θ∩∈¢;≥στ.¢PROC PM_GO(BYTE PMX,PMY,FR)¢ IF PMNO<4 THEN¢ HPOSP(PMNO)=PMX¢ ELSEIF PMNO=4 THEN¢ HPOSP(PMNO)=PMX+6¢ HPOSP(PMNO+1)=PMX+4¢ HPOSP(PMNO+2)=PMX+2¢ HPOSP(PMNO+3)=PMX¢ FI¢ SH=SHAD+((T8M(FR))+DI)¢ FOR TALL=0 TO SP DO¢ PARY((PMY-SP)+TALL)=0¢ PARY((PMY+7)+TALL)=0¢ OD¢ FOR TALL=0 TO 7 DO¢ PARY(PMY+TALL)=SH(TALL)¢ OD¢RETURN¢¢PROC VARSET(BYTE VN)¢ OSX(VN)=STX(VN)¢ OSY(VN)=STY(VN)¢ ODR(VN)=DIR(VN)¢ CSX(VN)=STX(VN)-48¢ CSY(VN)=STY(VN)-32¢ SAX(VN)=CSX(VN)&3¢ SAY(VN)=CSY(VN)&7¢ CDX(VN)=CSX(VN)/4¢ CDY(VN)=CSY(VN)/8¢RETURN¢¢PROC LOOK()¢ BYTE K0,K1,KP¢ IF STX(4)>52 AND STX(4)<192 THEN¢ DCD=SCR(CDX(4)+Y40(CDY(4)))¢ DCD0=SCR(CDX(4)+1+Y40(CDY(4)))¢ IF DCD=193 THEN¢ SCR(CDX(4)+Y40(CDY(4)))=0¢ SCR(CDX(4)+1+Y40(CDY(4)))=0¢ GG==+1¢ ST0=10¢ SCORE(5)¢ FI¢ IF DCD=86+INE THEN¢ FOR LP0=0 TO 12 STEP 2 DO¢ K0=ENER(LP0) K1=ENER(LP0+1)¢ IF K0=CDX(4) AND K1=CDY(4) THEN ¢ IC=98¢ PL(CDX(4),CDY(4))¢ PL(CDX(4)+1,CDY(4))¢ FI¢ OD¢ KP=LP0 HUND((INE RSH 1)+1)¢ POWER=100¢ ST3=60 PT=60 PD=5¢ FOR LP0=0 TO 3 DO¢ ECT(LP0)=80¢ OD¢ FI¢ IF DCD=96 THEN¢ FOR LP0=0 TO 16 STEP 2 DO¢ K0=KEYS(LP0)¢ K1=KEYS(LP0+1)¢ IF K0=CDX(4) AND K1=CDY(4) THEN¢ IC=98¢ PL(CDX(4),CDY(4))¢ PL(CDX(4)+1,CDY(4))¢ KP=LP0¢ HUND(1)¢ ST2=20¢ FI ¢ OD¢ IF KP<4 THEN¢ IC=98 PL(DOOR(KP),DOOR(KP+1))¢ PL(39-DOOR(KP),DOOR(KP+1))¢ ELSE¢ IC=98 PL(DOOR(KP),DOOR(KP+1))¢ PL(DOOR(KP)+1,DOOR(KP+1))¢ PL(38-DOOR(KP),DOOR(KP+1))¢ PL(38-DOOR(KP)+1,DOOR(KP+1))¢ FI¢ FI¢ FI¢ IF DCD=99 THEN IC=98¢ PL(CDX(4),CDY(4))¢ THOUS(THO)¢ PL(CDX(4)+1,CDY(4)) ST2=30¢ FI¢RETURN¢¢PROC CHCH(BYTE CN)¢ BYTE BPAS,BPAS2¢ IF SAY(CN)=0 AND SAX(CN)=0 THEN¢ DDU(CN)=0 DDD(CN)=0¢ DDL(CN)=0 DDR(CN)=0¢ DDM=0 EH(CN)=0¢ DCD=SCR(CDX(CN)+Y40(CDY(CN)-1))¢ DCD0=SCR(CDX(CN)+1+Y40(CDY(CN)-1))¢ IF DCD>66 AND DCD<86¢ OR DCD0>66 AND DCD0<86 THEN¢ DDU(CN)=1¢ FI¢ DCD=SCR(CDX(CN)+Y40(CDY(CN)+1))¢ DCD0=SCR(CDX(CN)+1+Y40(CDY(CN)+1))¢ IF DCD>66 AND DCD<86 ¢ OR DCD0>66 AND DCD0<86 THEN¢ DDD(CN)=1¢ FI¢ DCD=SCR(CDX(CN)-1+Y40(CDY(CN)))¢ IF DCD>66 AND DCD<86 THEN¢ DDL(CN)=1¢ FI¢ DCD=SCR(CDX(CN)+2+Y40(CDY(CN)))¢ IF DCD>66 AND DCD<86 THEN¢ DDR(CN)=1 FI¢ IF CN=4 THEN¢ DCD=SCR(CDX(4)+Y40(CDY(4)))¢ DCD0=SCR(CDX(4)+1+Y40(CDY(4)))¢ IF DCD>0 AND DCD0>0 THEN¢ DDM=1¢ FI¢ FI¢ FI¢ IF STX(CN)<30 THEN¢ STX(CN)=220¢ FI¢ IF STX(CN